function Student(name,age){
    this.name=name;
    this.age=age;
}
//继承的第一种方式
Student.prototype.sayHello=function (){
    console.log(this.name+"说你好")
}
// var stu=new Student("苏中庭",19);
// stu.sayHello();

//继承的第二种方式
Student.prototype={
    constructor:Student,
    name1:"KOBE",
    age:32,
    sayHello:function (){
        console.log("sb")
    }
}
var stu2=new Student();
// console.log(stu2.constructor===Student)
console.log(stu2 instanceof Student);







function Person(name) {
    this.name = name;
}
Person.prototype.sayHello = function() {
    console.log("Hello, my name is " + this.name);
};
const alice = new Person("Alice");
// 访问实例对象自身的属性
console.log(alice.name); // 输出: Alice
// 访问原型对象上的方法
alice.sayHello(); // 输出: Hello, my name is Alice
// 尝试访问不存在的属性
console.log(alice.age); // 输出: undefined，因为实例对象和原型对象都没有定义 age 属性
